home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / utility2 / wine02bx.zip / LISP / DIRED / GMHIST.ELC < prev   
Text File  |  1993-03-28  |  22KB  |  274 lines

  1. ;;; compiled by jwz@thalidomide on Tue Aug 18 17:12:37 1992
  2. ;;; from file /u/jwz/emacs19/lisp/dired/gmhist.el
  3. ;;; emacs version 19.2.2 Lucid.
  4. ;;; bytecomp version 2.08;  2-aug-92.
  5. ;;; optimization is on.
  6. ;;; this file uses opcodes which do not exist in Emacs18.
  7.  
  8. (if (and (boundp 'emacs-version)
  9.      (or (and (boundp 'epoch::version) epoch::version)
  10.          (string-lessp emacs-version "19")))
  11.     (error "This file was compiled for Emacs19."))
  12.  
  13. (defconst gmhist-version (substring "!Revision: 4.27 !" 11 -2) "\
  14. Id: gmhist.el,v 4.27 1992/04/20 17:17:47 sk RelBeta 
  15. Report bugs to Sebastian Kremer <sk@thp.uni-koeln.de>.")
  16. (byte-code "└┴!ê┬├!¼ç ┼╞O╟Ü└ç" [provide gmhist boundp gmhist-emacs-19-p emacs-version 0 2 "19"] 3)
  17. (defvar gmhist-default-format "[%s] " "\
  18. Format used by gmhist to indicate the presence of a default value.
  19. Set this to \"(default %s) \" to get the standard format.")
  20. (defvar gmhist-search-history nil "\
  21. History of history searches.")
  22. (fset 'read-with-history-in #[(GMHIST-SYMBOL rwhi-prompt &optional GMHIST-INITIAL GMHIST-READ) "└┴!ê\n├N─ !½è \n$¬╝╚\n!¼å\në╔NLê\nJ\n\n╦Në ═=½ç╬╧\n\"¬é )\n╤N\n╘\n╒N«é$,)ç" [run-hooks gmhist-hook GMHIST-SYMBOL hist-function fboundp rwhi-prompt GMHIST-INITIAL GMHIST-READ boundp initial-hist history completion-table table t mapcar list minibuffer-completion-table completion-predicate minibuffer-completion-predicate minibuffer-history-symbol gmhist-new-read-from-minibuffer hist-map gmhist-map] 6 "\
  23. Read a string, maintaining minibuffer history across calls in GMHIST-SYMBOL,
  24.   prompting with PROMPT, with optional GMHIST-INITIAL as initial contents.
  25. If optional fourth arg GMHIST-READ is non-nil, then interpret the
  26.   result as a lisp object and return that object.
  27. See variable gmhist-map for history commands available during edit.
  28. Example:
  29.     (defun foo-command (cmd)
  30.       (interactive (list (read-with-history-in 'foo-history \"Foo: \" )))
  31.       (message \"Fooing %s...\" cmd))
  32.  
  33. See function gmhist-make-magic on how to give an existing function
  34. history.
  35.  
  36. These properties (see function put) of GMHIST-SYMBOL are supported:
  37.  
  38. cursor-end    Put cursor at end of a newly retrieved history line.
  39. cursor-pos    A regexp to put the cursor on.
  40. keep-dups     If t, duplicate commands are remembered, too.
  41. initial-hist  Initial value of the history list.
  42. hist-ignore   Regexp of commands that are not to be added to the history.
  43. backup          If t, backup in the history list (as if user had typed
  44.           M-p as first thing).  Can also be an integer to backup
  45.           more than one history item.
  46. default       An empty string as input will default to the last
  47.           command (whether the last command was added to the
  48.           history or not).  The default is stored in this
  49.           property, thus its initial value is the first default.
  50. dangerous     Commands matching this regexp will never be the default.
  51. no-default    If you don't want defaults at all, set this to t.
  52.  
  53. Use the following only if you know what you are doing:
  54.  
  55. hist-function Name of a function to call instead of doing normal
  56.               history processing.  read-with-history-in becomes
  57.               effectively an alias for this function.
  58.  
  59. These will be flushed soon (use let-binding minibuffer-completion-table
  60. etc. instead):
  61.  
  62. hist-map      Minibuffer key map to use instead of gmhist-map.
  63. completion-table
  64. completion-predicate
  65.           Used in completion on history strings, when the hist-map
  66.           property has gmhist-completion-map as value.
  67.           The special value `t' for the table means to use the
  68.           current history list.
  69.           Thus, to get completion on history items just do:
  70.         (put 'foo-history 'hist-map gmhist-completion-map)
  71.         (put 'foo-history 'completion-table t)
  72.  
  73. Hooks:
  74.   gmhist-after-insert-hook is run after a history item is
  75.     inserted into the minibuffer.
  76.   gmhist-load-hook is run after this package is loaded.
  77.   gmhist-hook is run as first thing inside read-with-history-in.
  78.   gmhist-before-move-hook is run before history motion takes place.
  79.     Function gmhist-remember-zero is a candidate for that hook.
  80. "])
  81. (fset 'completing-read-with-history-in #[(crwhi-hist-sym &rest args) "┬├ \")ç" [crwhi-hist-sym minibuffer-history-symbol apply gmhist-completing-read args] 3 "\
  82. Like completing-read, but with additional first arg HISTORY-SYMBOL."])
  83. (fset 'gmhist-completing-read #[(crwhi-prompt table &optional predicate mustmatch initial) "┴=?¡ü┴\n ╟    ╩½ä ¬é !#+ç" [mustmatch t table predicate minibuffer-completion-predicate minibuffer-completion-table minibuffer-completion-confirm gmhist-new-read-from-minibuffer crwhi-prompt initial gmhist-lookup-keymap gmhist-must-match-map gmhist-completion-map] 5 "\
  84. Like completing-read, but see minibuffer-history-symbol."])
  85. (fset 'read-file-name-with-history-in #[(crwhi-hist-sym &rest args) "┬├ \")ç" [crwhi-hist-sym file-history-symbol apply gmhist-read-file-name args] 3 "\
  86. Like read-file-name, but with additional first arg HISTORY-SYMBOL."])
  87. (defvar file-history-symbol 'file-history "\
  88. *If non-nil, it is the name (a symbol) of a variable on which to cons
  89. filenames entered in the minibuffer.
  90. You may let-bind this to another symbol around calls to read-file-name.")
  91. (fset 'gmhist-read-file-name #[(grfn-prompt &optional dir default mustmatch initial) "«ü    \n«ü  ½î┼ ╞╟#ê┼ ╚╟#ê    ½è╩╦    !!    ¬ï ½ç╩╦!!    ╟=?¡ü╟╧ ╙    ╒½ä¬é!#    ;½ç    ÿ¼ï    ¼èG┘U½â\n«ä┌!-ç" [dir default-directory default buffer-file-name file-history-symbol put cursor-end t no-default initial gmhist-quote-dollars gmhist-unexpand-home insert-default-directory mustmatch minibuffer-completion-confirm read-file-name-internal minibuffer-completion-table minibuffer-completion-predicate minibuffer-history-symbol gmhist-new-read-from-minibuffer grfn-prompt gmhist-lookup-keymap gmhist-filename-must-match-map gmhist-filename-completion-map val 0 substitute-in-file-name] 5 "\
  92. Args: PROMPT &optional DIR DEFAULT MUSTMATCH INITIAL.
  93. Read file name, maintaining history in file-history-symbol, prompting
  94.   with PROMPT, with optional INITIAL input and completing in directory DIR. 
  95. Value is not expanded!  You must call expand-file-name yourself.
  96. Default name to arg DEFAULT if user enters a null string (or, if
  97.   INITIAL was given, leaves it unchanged).
  98. MUSTMATCH non-nil means require existing file's name.
  99.  Non-nil and non-t means also require confirmation after completion.
  100. DIR defaults to current buffer's default-directory.
  101.  
  102. This function differs from read-file-name in providing a history of
  103. filenames bound to file-history-symbol and (for pre-Emacs 19) in
  104. providing an argument INITIAL not present in Emacs 18's read-file-name."])
  105. (fset 'gmhist-unexpand-home #[(file) "└┴!ëG G\n½í ;½¥ Y½ÿ\n ╞ Oÿ½É SH╟=½ê┴ ╚OP¬ü +ç" [expand-file-name "~/" home home-len file file-len 0 47 nil] 5])
  106. (fset 'gmhist-quote-dollars #[(file) "└┬├     #ë½æ └    O┼     ╞OQ    ╟\\¬f )ç" [0 pos string-match "\\$" file "$" nil 2] 5 "\
  107. Quote `$' as `$$' in FILE to get it past function `substitute-in-file-name.'"])
  108. (fset 'read-buffer-with-history-in #[(rbwhi-hist-sym &rest args) "┬├ \")ç" [rbwhi-hist-sym buffer-history-symbol apply gmhist-read-buffer args] 3 "\
  109. Like read-buffer, but with additional first arg HISTORY-SYMBOL."])
  110. (defvar buffer-history-symbol 'buffer-history "\
  111. *If non-nil, it is the name (a symbol) of a variable on which to cons
  112. buffer names entered in the minibuffer.")
  113. (fset 'gmhist-read-buffer #[(grb-prompt &optional default existing) "└    !½ä┬    ! ½å─ ┴    #ê ╞╚╔╩ \"╦ $ë╬ܽ⠠  ¬é*ç" [bufferp default buffer-name buffer-history-symbol put minibuffer-history-symbol gmhist-completing-read grb-prompt mapcar #[(arg) "└    !    Bç" [buffer-name arg] 2] buffer-list #[(elt) "└    @!ç" [get-buffer elt] 2] existing name ""] 6 "\
  114. Read a buffer name, maintaining history in buffer-history-symbol and return as string.
  115. Args PROMPT &optional DEFAULT EXISTING.
  116. Optional arg EXISTING means an existing buffer must be entered."])
  117. (defvar minibuffer-history-symbol 'minibuffer-history "\
  118. *If non-nil, it is the name (a symbol) of a variable on which to cons
  119. the string entered in the minibuffer.
  120. Input is stored as string, even for e.g. `read-buffer'.")
  121. (defvar minibuffer-history nil "\
  122. List of strings entered using the minibuffer, most recent first.")
  123. (put 'minibuffer-history 'no-default t)
  124. (defvar minibuffer-history-read-only nil "\
  125. If non-nil, nothing will be stored on `minibuffer-history-symbol'.
  126. History motions commands are still available in the minibuffer.")
  127. (defvar minibuffer-history-position nil "\
  128. If currently reading the minibuffer, the history position.")
  129. (defvar minibuffer-initial-contents nil "\
  130. If currently reading the minibuffer, the initial contents.")
  131. (byte-code "└┴!¼à┴┬KMê└ç" [fboundp gmhist-old-read-from-minibuffer read-from-minibuffer] 2)
  132. (fset 'gmhist-new-read-from-minibuffer #[(gnrfm-prompt &optional initial-contents keymap read position) "¼ò    ½è┬ %ç┬ $ç╚ %ç" [minibuffer-history-symbol gmhist-emacs-19-p gmhist-old-read-from-minibuffer gnrfm-prompt initial-contents keymap read position gmhist-read-from-minibuffer] 6 "\
  133. Read a string from the minibuffer, prompting with string PROMPT.
  134. If optional second arg INITIAL-CONTENTS is non-nil, it is a string
  135.   to be inserted into the minibuffer before reading input.
  136. Third arg KEYMAP is a keymap to use whilst reading;
  137.   if omitted or nil, the default is `minibuffer-local-map'.
  138. If fourth arg READ is non-nil, then interpret the result as a lisp object
  139.   and return that object:
  140.   in other words, do `(car (read-from-string INPUT-STRING))'
  141. Fifth arg POSITION, if non-nil, is where to put point
  142.   in the minibuffer after inserting INITIAL-CONTENTS.
  143.  
  144. The ambient value of `minibuffer-history-symbol' (q.v.) is used and set.
  145.  
  146. *** This is the gmhist version.***"])
  147. (byte-code "└┴Mê┬├Mç" [gmhist-read-from-minibuffer #[(grfm-prompt &optional initial-contents keymap read position) "¼é    \n¼ï├ !¼å ë┼NLê╞     J\n «â ╠Në ?¡â ═N ╬N ?¡â ╧Në½ï╤\"P¬é    ¼ä¼ä    ¬░╞¿½ä«ü╘]\nG^ëë╞U?¡òS\n8 ½å╓!¬é)╪½ï█$¬ç█# ¼è▄#\n¼▒╪\n½í ▐N¼ê\n@ܼ£ ▀Në;½ïαß\n@!\"¼ê \nBLê) ½çΓ!@¬é.\nç" [keymap minibuffer-local-map minibuffer-history-read-only boundp minibuffer-history-symbol initial-hist 0 minibuffer-history-position initial-contents minibuffer-initial-contents history read no-default dangerous backup default grfm-prompt format gmhist-default-format the-prompt 1 backup-input prin1-to-string the-initial nil command position gmhist-old-read-from-minibuffer gmhist-handle-default ignore keep-dups hist-ignore string-match gmhist-stringify read-from-string] 6] gmhist-handle-default #[(command default dangerous) "┴ÿ½à\n½é\n ;½ê─ ┼!\"¼ç╞┬#êç" [command "" default dangerous string-match gmhist-stringify put minibuffer-history-symbol] 4]] 2)
  148. (defvar gmhist-define-keys-hook nil "\
  149. Hook run inside function `gmhist-define-keys' (q.v.), after the
  150. standard gmhist bindings.")
  151. (byte-code "└┴!¼ä┴┬Mê├─Mç" [fboundp gmhist-define-keys #[(map) "└    ┬├#ê└    ─┼#ê└    ╞╟#ê└    ╚╔#ê└    ╩╦#ê└    ╠═#ê└    ╬╧#ê╨╤!ç" [define-key map "≡" gmhist-previous "ε" gmhist-next "≥" gmhist-search-backward "≤" gmhist-search-forward "τ" gmhist-toggle "╟" gmhist-switch-history "┐" gmhist-show run-hooks gmhist-define-keys-hook] 4 "Bind the standard history commands in MAP, a key map.\n\nWhen gmhist is loaded, this function is only defined if you have not\nalready defined it, so that you can customize it without worrying\nabout load order.\nYou can also use `gmhist-define-keys-hook' if you just want to add to\nexisting bindings."] gmhist-lookup-keymap #[(map) "└    !½é    ç┬    J!ç" [keymapp map gmhist-lookup-keymap] 2]] 2)
  152. (defvar gmhist-map nil "\
  153. Key map for generic minibuffer history.
  154. \\<gmhist-map>\\[gmhist-previous], \\[gmhist-next], \\[gmhist-beginning], \\[gmhist-end] move through, \\[gmhist-search-backward] and \\[gmhist-search-forward] search,
  155. \\[gmhist-show] displays the history:
  156. \\{gmhist-map}")
  157. (byte-code "¼ê┴\n!├!ê┴ç" [gmhist-map copy-keymap minibuffer-local-map gmhist-define-keys] 2)
  158. (defvar gmhist-completion-map nil "\
  159. Key map for generic minibuffer history with completion, see gmhist-map.")
  160. (byte-code "¼ê┴\n!├!ê┴ç" [gmhist-completion-map copy-keymap minibuffer-local-completion-map gmhist-define-keys] 2)
  161. (defvar gmhist-must-match-map nil "\
  162. Key map for generic minibuffer history with completion that must match,
  163. see gmhist-map.")
  164. (byte-code "¼ê┴\n!├!ê┴ç" [gmhist-must-match-map copy-keymap minibuffer-local-must-match-map gmhist-define-keys] 2)
  165. (defvar gmhist-filename-completion-map 'gmhist-completion-map "\
  166. A keymap (or a symbol pointing to one) to use in filename
  167. completion that need not match.  Defaults to 'gmhist-completion-map.")
  168. (defvar gmhist-filename-must-match-map 'gmhist-must-match-map "\
  169. A keymap (or a symbol pointing to one) to use in filename
  170. completion that must match.  Defaults to 'gmhist-must-match-map.")
  171. (fset 'gmhist-goto #[(n) "└┴!ê┬ ê  ┼W?¡┬╞ ┼U½ç«ë╚¬å S    J8!cê└╩!ê    ╦N½âd¬üebê    ╠Në;¡æm½ê╬╧╨#¬å╤╧╨#)ç" [run-hooks gmhist-before-move-hook erase-buffer n minibuffer-history-position 0 gmhist-stringify minibuffer-initial-contents "" minibuffer-history-symbol gmhist-after-insert-hook cursor-end cursor-pos pos re-search-backward nil t re-search-forward] 5])
  172. (fset 'gmhist-beginning #[nil "└    JG!ç" [gmhist-goto minibuffer-history-symbol] 2 "\
  173. Go to the oldest command in the history." nil])
  174. (fset 'gmhist-end #[nil "└┴!ç" [gmhist-goto 0] 2 "\
  175. Position before the most recent command in the history." nil])
  176. (fset 'gmhist-toggle #[(&optional n) "½å┴┬!!ç ─U½â┼ ç╞ ç" [n gmhist-goto prefix-numeric-value minibuffer-history-position 0 gmhist-beginning gmhist-end] 3 "\
  177. If at end of history, move to beginning, else move to end.
  178. Prefix arg is history position to go to." "P"])
  179. (fset 'gmhist-switch-history #[(new-history) "┬ëç" [new-history minibuffer-history-symbol 0 minibuffer-history-position] 2 "\
  180. Switch to a different history." (byte-code "└┬├─ë└$)Cç" [t enable-recursive-minibuffers read-from-minibuffer "Switch to history: " nil] 5)])
  181. (fset 'gmhist-next #[(n) "└    \nZ] JG^     U½Å┼╞    └U½â╟¬ü╚ #¬â╔ !)ç" [0 minibuffer-history-position n minibuffer-history-symbol narg error "No %s item in %s" "following" "preceding" gmhist-goto] 4 "\
  182. Go to next history position." "p"])
  183. (fset 'gmhist-previous #[(n) "└    [!ç" [gmhist-next n] 2 "\
  184. Go to previous history position." "p"])
  185. (fset 'gmhist-search-backward #[(regexp &optional forward) "└\n½â├¬ü─\\Jë    G\n\n½å╦V¬à\nX½ÿ╠╬S    8!\"ë¼ê\\¬X    ¼ê╧╨#ê╤!-ç" [nil found forward -1 1 direction minibuffer-history-position pos minibuffer-history-symbol history len 0 string-match regexp gmhist-stringify error "%s not found in %s" gmhist-goto] 6 "\
  186. Search backward in the history list for REGEXP.
  187. With prefix argument, search for line that contains match for current line." (byte-code "½å┴┬ !Cç├┼╞╟\")Cç" [current-prefix-arg regexp-quote buffer-string t enable-recursive-minibuffers read-with-history-in gmhist-search-history "History search (regexp): "] 3)])
  188. (fset 'gmhist-search-forward #[(regexp &optional backward) "└    \n?\"ç" [gmhist-search-backward regexp backward] 3 "\
  189. Search forward in the history list for REGEXP.
  190. With prefix argument, search for line that matches current line
  191. instead of prompting for REGEXP." (byte-code "½å┴┬ !Cç├┼╞╟\")Cç" [current-prefix-arg regexp-quote buffer-string t enable-recursive-minibuffers read-with-history-in gmhist-search-history "History search forward (regexp): "] 3)])
  192. (fset 'gmhist-stringify #[(elt) ";½éç┴!ç" [elt prin1-to-string] 2])
  193. (fset 'gmhist-show #[nil "└┬├ !┬QÉ┼╞ J\"æ)ç" [0 count "*" symbol-name minibuffer-history-symbol mapcar #[(x) "└┴┬ Të =½â┼¬ü╞ $!ç" [princ format "%2s%2d: %s\n" count minibuffer-history-position "> " "  " x] 6]] 4 "\
  194. Show the history list in another buffer.
  195. Use \\[scroll-other-window] to scroll, with negative arg to scroll back." nil])
  196. (fset 'gmhist-remember-zero #[nil "┴U¡ä┬ ëç" [minibuffer-history-position 0 buffer-string minibuffer-initial-contents] 2 "\
  197. Put this function on gmhist-before-move-hook to make gmhist
  198. remember the initial value even after you edited it:
  199.  
  200.     (setq gmhist-before-move-hook 'gmhist-remember-zero)"])
  201. (fset 'gmhist-copy-function #[(fun) "└    !ë:½ó├ë\n½û\n@\nA╞ !½à╟ !¬ü B¬gƒ*¬ö╚\n├\"╔¢╟\n╔H!áê╩╦\"))ç" [gmhist-symbol-function fun old nil elt new sequencep copy-sequence append 5 apply make-byte-code] 5])
  202. (fset 'gmhist-check-autoload #[(fun) "Kë<¡ï    @┬=¡à├    A@!)ç" [fun lis autoload load] 3 "\
  203. If FUN is an autoload, load its definition."])
  204. (fset 'gmhist-replace-spec #[(fun new-spec &optional copy-first) "└    !ê\n½å    ├    !Mê─    !ë:¡₧╞8ó╟=½à╞8¬æ╚8ó╟=½à╚8¬ä╔╩    \"ë ½å A@¬â╠    !    ╬N¼ç╧    ╬#ê\n½ó:½ê Cí¬Ü╤╥\"╙¢áê╘╒\"    M¬ä╓╫╪Å+ç" [gmhist-check-autoload fun copy-first gmhist-copy-function gmhist-symbol-function flambda 2 interactive 3 error "%s is not interactive" fint gmhist-spec old-spec gmhist-old-interactive-spec put new-spec append nil 5 apply make-byte-code err (byte-code "    Cíç" [fint new-spec] 2) ((error (gmhist-replace-spec fun new-spec t)))] 5 "\
  205. Replace the interactive specification of FUN with NEW-SPEC.
  206. FUN must be a symbol with a function definition.
  207. Autoload functions are taken care of by loading the appropriate file first.
  208. If FUN is a pure storage function (one dumped into Emacs) it is first
  209.   copied onto itself, because pure storage cannot be modified.
  210.   Optional non-nil third arg COPY-FIRST is used internally for this.
  211. The old spec is put on FUN's gmhist-old-interactive-spec property.  
  212.   That property is never overwritten by this function.  It is used by
  213.   function gmhist-remove-magic."])
  214. (fset 'gmhist-spec #[(fun) "└    !┬ë:½ô┼ AA₧ë¼à╞╟    \"ê A@¬â ╚H*ç" [gmhist-symbol-function fun nil fint flambda interactive error "Cannot get spec of a non-interactive command: %s!" 5] 4 "\
  215. Get the current interactive specification for FUN (a symbol).
  216. Signal an error if FUN is not interactive."])
  217. (fset 'gmhist-symbol-function #[(fun) "Kë9½à┬    !¬ü    )ç" [fun flambda gmhist-symbol-function] 3])
  218. (fset 'gmhist-split #[(pat str &optional limit) "└    \n\"\n─ OC╞ ¡é─òë½¼    ¿½ç    W½á└    \n#½ÿ─öT\n OB─òë¬T    ¿½ç    W½î½ê\n╩OBƒ,ç" [string-match pat str start 0 result 1 count end limit nil] 5 "\
  219. Splitting on regexp PAT, turn string STR into a list of substrings.
  220. Optional third arg LIMIT (>= 1) is a limit to the length of the
  221. resulting list.
  222. Thus, if SEP is a regexp that only matches itself,
  223.  
  224.    (mapconcat 'identity (gmhist-split SEP STRING) SEP)
  225.  
  226. is always equal to STRING."])
  227. (fset 'gmhist-interactive #[(spec hist) ";¼à┴┬\"êG├V½Å├H─=½ê┼ ê╞╟O╚    !½É    J9½è    J½à    J    ╩╦╠═\"\"╟ëëëëëë╓╟\"âa@A╟@A╫╪┘!#┌=½ô█▄    ▐▀╟&!éRα=½Äß    Γ ▀$éRπ=½Äß    Γ ╟$éRΣ=½îσ!êµ éRτ=½ô█▄    Φ▀╟&!éRΘ=½å`éRΩ=½Åδ    ╟,φ%éRε=½Äδ    ╟ëφ%éR∩=½ïδ    \"éR≡=½É±≥Ü?¡é!éR≤=½î⌠ «â┴⌡!éR÷=½₧7½ë°7!éR∙    ╟▀$뿽réR·=½æ∙    ╟▀$뿽réR√=½ë°7!éRⁿ=½ç7éR²=½»╟ë>?⌠ «â┴⌡!`^?⌠ «â┴⌡!`]>ü@>?D\"▀*¬∞üA=½è∙    \"¬┌üB=½î∙    ╟▀$¬╞üC=½Æ▄    üD▀╟&¬¼üE>½£∙    ╟▀$üF=½ÆüG!¬ê┴üH\"êäYBéY┘!.ç" [spec error "gmhist-interactive: not a string %s" 0 42 barf-if-buffer-read-only 1 nil boundp hist mapcar #[(x) "┴Ü?¡ê┬H├─OBç" [x "" 0 1 nil] 4] gmhist-split "\n" xprompt prompt char elt special args-so-far cur-arg spec-list delq apply format reverse 97 intern completing-read-with-history-in obarray fboundp t 98 read-buffer-with-history-in other-buffer 66 99 message read-char 67 commandp 100 68 read-file-name-with-history-in default-directory confirm 102 70 107 read-key-sequence "" 109 mark "The mark is not set now" 78 current-prefix-arg prefix-numeric-value read-with-history-in 110 112 80 114 region-max region-min append 115 83 118 user-variable-p (120 88) 88 eval "Invalid control letter `%c' in gmhist-interactive"] 8 "\
  228. Interpret SPEC, an interactive string, like call-interactively
  229. would, only with minibuffer history in HIST (a symbol).
  230.  
  231. If the value of HIST is another symbol (which can never happen if
  232. history lists are already stored on it), this symbol is taken instead
  233. to facilitate dynamic indirections.
  234.  
  235. Currently recognized key letters are:
  236.  
  237.     a b B c C d D k m N n s S x X f F r p P v
  238.  
  239. and initial `*'.
  240.  
  241. Use it inside interactive like this
  242.  
  243.     (interactive (gmhist-interactive \"sPrompt: \\nP\" 'foo-history))
  244.  
  245. or even like this:
  246.  
  247.     (interactive
  248.      (gmhist-interactive \"sReplace: \\nsReplace %s with: \" 'replace-history))
  249. "])
  250. (fset 'gmhist-new-spec #[(fun &optional hist no-error) "¼ê┴┬ !─P!┼ !ê╞ !ë;½ë╚╔DE¬ï\n?¡å╦╠ #)ç" [hist intern symbol-name fun "-history" gmhist-check-autoload gmhist-spec spec gmhist-interactive quote no-error error "Can't gmhistify %s's spec: %s"] 5 "\
  251. Return a new interactive specification for FUN, suitable for use
  252. with setcdr in function gmhist-replace-spec.
  253. Use symbol HIST to store the history.  HIST defaults to `FUN-history'.
  254. The returned spec does the same as the old one, only with history in HIST.
  255.  
  256. If FUN is an autoload object, its file is loaded first.
  257.  
  258. See function gmhist-interactive for a list of recognized interactive
  259. keys letters.
  260.  
  261. Unless optional third arg NO-ERROR is given, signals an error if FUN's
  262. interactive string contains unknown key letters or has no interactive string.
  263. With NO-ERROR, it returns nil."])
  264. (fset 'gmhist-make-magic #[(fun &optional hist) "└    \n├#ë½å┼     \"¬á    ╞N¼å╟╚    \"¬ò╔╩    \"ê╦    !ê┼    └    \n\"\"ê╔╠    \")ç" [gmhist-new-spec fun hist t new-spec gmhist-replace-spec gmhist-old-interactive-spec error "Too complicated for gmhist: %s" message "Another attempt to put magic on %s..." gmhist-remove-magic "Another attempt to put magic on %s...done."] 6 "\
  265. Make FUN magically maintain minibuffer history in symbol HIST.
  266. HIST defaults to `FUN-history'.
  267. This works by modifying the interactive specification, which must be a
  268. string.  For more complicated cases, see gmhist-replace-spec.
  269. The magic goes away when you call gmhist-remove-magic on FUN." "CPut gmhist magic on command: "])
  270. (fset 'gmhist-remove-magic #[(fun) "└    ë┬N«ä├─    \"\"ç" [gmhist-replace-spec fun gmhist-old-interactive-spec error "Can't find %s's old interactive spec!"] 5 "\
  271. Remove the magic that gmhist-make-magic put on FUN,
  272. restoring the old interactive spec." "CRemove gmhist magic from command: "])
  273. (byte-code "└ë┴\"ê└┬┴\"ê├─!ç" [gmhist-make-magic gmhist-make-magic-history gmhist-remove-magic run-hooks gmhist-load-hook] 3)
  274.